Tracking and communicating with short-range communication devices

ABSTRACT

First communication circuitry of a first device is made discoverable by a second device via a short-range wireless protocol. A device name for the first communication circuitry is set to a user identifier that is specific to a user of the first device. The second device discovers the first device and the user identifier is transmitted to the second device. A response message can also be included with the user identifier and can be appended to the user identifier. The second device stores the user identifier, and the response message if included, in a log to record a presence of the user of the first device within a range between the first and second devices of the short-range wireless protocol.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims the benefit of priorityunder 35 U.S.C. §120 from U.S. Ser. No. 14/404,086, filed Nov. 26, 2014,which is a U.S. national stage application under 35 U.S.C. §371 ofInternational Application No. PCT/IB2014/001792, filed Sep. 11, 2014,the entire contents of each of which are incorporated by reference.

BACKGROUND

1. Field of the Disclosure

Aspects of this disclosure relate to using short-range communicationtechnology, such as Bluetooth technology, and personal devices, such assmartphones, for communication systems, such as response and trackingsystems.

2. Description of the Related Art

The “background” description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description which may nototherwise qualify as prior art at the time of filing, are neitherexpressly or impliedly admitted as prior art against the presentinvention.

Bluetooth is a short-range Radio Frequency (RF) technology that works inthe 2.4 GHz ISM band and is capable of point-to-multipoint connectionsat speeds up to 1 Mbps. Bluetooth is widely available in smartphones,and has been widely used to provide wireless connectivity betweensmartphones as well as between a smartphone and external devices such aslaptops, headsets and gaming devices. Bluetooth signals do not requireline-of-sight, and can penetrate some physical barriers with a range upto 10 meters.

U.S. Patent Application Publication Number 2010/0062712, published Mar.11, 2010, discloses a Bluetooth enabled identification device forBluetooth based identification, communication, and tracking. Bluetoothhardware is used as identification of location through a 48 bit uniquehardware address and password-based identification.

WO/2012/034086, published Mar. 15, 2012, discloses a classroom responsesystem. Network connectivity is formed between devices, and a studentcan respond to an instructor via the network connectivity.

SUMMARY OF THE EXEMPLARY IMPLEMENTATIONS

One exemplary aspect of this disclosure includes a graphical userinterface (GUI) for in-class student attendance (i.e., attendancetracking). A course registration list can be downloaded on a professor'sdevice, and a master device interface can be displayed on theprofessor's device. A slave device interface can be displayed on astudent's device. A short-range communication interface can beestablished between the slave device and the master device. The slavedevice interface can include an input interface for the student toacknowledge the student's class attendance, and the master device canreceive a corresponding indicator from the slave device. A master devicecan scan for slave device acknowledgements from slave devices. A devicename for the slave device can be replaced with an identification numberof an owner or user of the slave device.

A further exemplary aspect includes a multi-platform and inter-operablein-class student response logging system (i.e., response tracking). Amethod can initiate a multiple choice question on an instructors' deviceand can log students with IDs and passwords on their electronic devices.The students can select an answer on their devices, where Bluetoothdevices name of the students' devices can be replaced by correspondingstudent IDs and answers. The instructor's device can scan and detectsignals, and can parse logged device names to extract the student IDsand answers from the detected signals. The answers can be logged in theinstructor's device, and can be integrated and visualized in a graphicaluser interface (GUI) that may utilize Microsoft PowerPoint or otherpresentation software.

Aspects of this disclosure propose utilizing built-in Bluetoothtechnology of a smartphone for automated classroom response logging,attendance tracking, or other purposes by frequently scanning forBluetooth device names between devices, without the necessity of pairingthe devices or networking the devices. By changing the device name toadapt to a student's answer or other response, a teacher's device canlog the response without requiring a network connection to beestablished.

These exemplary aspects can be embodied in corresponding methods,devices, computer-readable media, and in computer program code executedby processing circuitry, as will be appreciated in view of the followingdetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the disclosed implementations and manyof the attendant advantages thereof will be readily obtained as the samebecomes better understood by reference to the following detaileddescription when considered in connection with the accompanyingdrawings, wherein:

FIG. 1 is an example classroom setting;

FIG. 2 illustrates an exemplary graphical user interface (GUI) windowshowing an application interface;

FIG. 3 illustrates an exemplary GUI that includes a home interface for amaster device;

FIG. 4 illustrates an exemplary GUI for an attendance interface of amaster device;

FIG. 5 illustrates an exemplary GUI of a home interface of a slavedevice;

FIG. 6 illustrates an exemplary attendance system;

FIG. 7 is a diagram illustrating an exemplary attendance scan operation;

FIG. 8 is a chart illustrating an exemplary real-time attendance scanoperation;

FIG. 9 is a flowchart of an exemplary attendance scan process;

FIG. 10 is a flowchart of an implementation of an exemplary attendancescan process on a mobile operation system platform;

FIG. 11 is a flowchart of an example process to use smartphones andshort-range wireless technology for collecting students' responses;

FIG. 12 is a block diagram that illustrates receiving responses to thequiz questions;

FIG. 13 is a block diagram that illustrates displaying the responses ona screen;

FIG. 14 is an illustration of an exemplary GUI for a question/responsesystem;

FIG. 15 is a block diagram that illustrates how short-range wirelesscommunication links are established between a device of a professor anda device of a student; and

FIG. 16 is a block diagram of an exemplary processing system.

DETAILED DESCRIPTION

In the drawings, like reference numerals designate identical orcorresponding parts throughout the several views. Further, as usedherein, the words “a,” “an” and the like generally carry a meaning of“one or more,” unless stated otherwise. The drawings are generally drawnto scale unless specified otherwise or illustrating schematic structuresor flowcharts.

The terms “professor,” “teacher,” “instructor,” “organizer,”“presenter,” etc., may be used interchangeably and carry the samemeaning in the context of this disclosure. Further, such entities are,for the purposes of discussion, understood to be the users of a masteror primary device according to exemplary aspects of this disclosure.Likewise, the terms “student,” “participant,” “attendee,” etc., may beused interchangeably and carry the same meaning in the context of thisdisclosure. Further, such entities are, for the purposes of discussion,understood to be the users of a slave or secondary device according toexemplary aspects of this disclosure.

Furthermore, the terms “about,” “approximately,” “around,” and similarterms generally refer to ranges that include the identified value withina margin of 20%, 10%, or preferably 5%, and any values therebetween.

OVERVIEW OF THE EXEMPLARY IMPLEMENTATIONS Introduction

The described exemplary implementations, together with furtheradvantages, will be best understood by reference to the followingdetailed description taken in conjunction with the accompanyingdrawings.

For students in a university setting, there is an attendance loggingproblem. This problem affects both the teacher (professor) and thestudents and can waste a significant amount of the student learningtime. For example, some teachers/professors call students by their namesto check their attendance. When the number of registered students ishigh, this procedure can consume up to 20% of the class time. Otherprofessors may prefer to distribute an attendance sheet and requeststudents log their names and forward the sheet to the rest of the class.However, students may provide fake information or become distracted fromthe ongoing lecture. Other limitations of these traditional techniquesmay involve human error in logging or the inefficient handling oflatecomers.

A recent project proposed by a group of students from the IndianInstitute of Technology, Delhi developed a multi-component attendancesystem that included a mobile application utilizing Bluetooth, a webservice, a database and a web portal. The smartphone application onlyruns on the teacher's (or professor's) smartphone, which is connected toa server, and allows the professor to scan Bluetooth devices in rangeand match their mac-addresses with an already-saved database ofmac-addresses.

In exemplary implementations of this disclosure, users are notrestricted to server connectivity, databases, web portals or internetcoverage. In addition, exemplary implementations of this disclosure canuse Device Names (e.g., Bluetooth Device Names) to avoid registeringfixed MAC addresses or some other device-specific identifier, which canlimit attendance schemes to pre-registered devices. Finally, thediscussed exemplary implementations can provide a well-designed UI forstudents to get feedback about their connectivity to avoidmiss-recording due to technical errors such as a failure to detect asignal.

The I>CLICKER is a student response system manufactured by Macmillan NewVentures, a division of Macmillan. This system enables studentsubmission of answers in class. Student devices (i.e., “clickers”) useinfrared or radio frequency technology to transmit and record studentresponses to questions. A small, portable receiving station is placed inthe front of the class to collect and record student responses. Eachclicker can be registered to a student (or not, depending on theteacher's prerogative) and generates a unique, identifiable signal. Thesystem allows active participation by all students and providesimmediate feedback to the instructor and the students about anyconfusion or misunderstandings of the material being presented.

In an exemplary implementation of this disclosure, smartphones and theirembedded technologies are configured to improve students' in-classinteraction. Students face a serious in-class interaction problem whereprofessors usually follow traditional in-class interactions methods likeasking a simple “do you understand?” question or quiz-like questions. Inboth cases, only a portion of students may actually interact with theprofessor: either those who understand or those who know the answer tothe quiz question. Other students may be left out from this interaction.In many cases, students may be shy to show their misunderstanding of thelectures or may lie about their ability to comprehend the content. Apop-up quiz or a quick question may help to give feedback to theprofessor on the students' status of understanding. However, traditional“raise your hands” methods may fail to deliver this answer. On the otherhand, brute-forcing every student to provide an answer may waste most ofthe lecture time.

An objective of an exemplary implementation of this disclosure is toutilize smartphone systems and the embedded Bluetooth modules insidesmartphones carried by students to autonomously log their responseswithin seconds, without having to perform the task manually. In anexemplary implementation, a Bluetooth name of a module is replaced witha student response and a student ID, and a pairing operation betweendevices is avoided. A device according to this disclosure can useshort-range wireless communications.

Exemplary short-range wireless communication technologies include WiFi,Bluetooth, ultrasonic waves, infrared, near-field communication (NFC),and radio-frequency identification (RFID). The examples discussed hereinutilize Bluetooth, but it should be appreciated a different short-rangewireless technology can replace Bluetooth in other implementations. Forexample, any of the above-listed or another short-range wirelesscommunication technology can be utilized in other implementations. Anexemplary device according to this disclosure is a smartphone, a tablet,a smart watch, a laptop, or a similar device.

FIG. 1 is a non-limiting example that shows a classroom 100 with aprofessor 102 having a personal device (e.g., a smartphone or a tabletcomputer—sometimes referred to herein as a master device) 116 and aplurality of students 104, 106, 108, 110, 112, and 114, each having apersonal device (e.g., a smartphone or a tablet computer). Each of thesedevices constitutes a processing system that includes both genericcomputer processing components and unique configurations, which may beprovided by unique applications, that cause the devices the perform thespecial and advantageous algorithms discussed herein. A furtherdiscussion of the hardware circuitry included in the processing systemsis provided below.

The master device 116 can be in network communications with a personalcomputer 118. The personal computer 118 can take the form a processingsystem, a further discussion of which is provided below.

Results of the processing and transfer of information between thedevices can be displayed on the personal computer 118, e.g., on thedisplay screen. For example, responses or attendance results can beactively displayed to the professor and/or to the students. The personalcomputer 118 can also be connected to a remote server to transfer datathereto for storage and remote access by the professor and/or thestudents. The personal computer can also be connected to a projector orother display for classroom viewing.

While aspects of this disclosure are discussed in the context of aclassroom with students and a professor, the teachings herein can alsobe applied to trade shows, symposiums, presentations, and otherinteractions where attendance tracking and response systems can beutilized. Also, the functionality and hardware of a master device can bedistributed among a plurality of individual distributed devices, wherethe distributed devices can collaborate to combine responses and/orattendance results. This aspect is beneficial when there are manyparticipants or the event in question takes place in a large space whereBluetooth, e.g., may not be able to cover an entire area.

An exemplary system can include a first device including: firstcommunication circuitry configured to communicate with a second deviceby a short-range wireless protocol; and first control circuitryconfigured to: activate the first communication circuitry so that thefirst communication circuitry is detectable by the second device via theshort-range wireless protocol, set a device name for the firstcommunication circuitry to a user identifier that is specific to a userof the first device, receive a scan signal from the second device viathe first communication circuitry and the short-range wireless protocol,and transmit the user identifier to the second device via the firstcommunication circuitry and the short-range wireless protocol inresponse to receiving the scan signal.

A response to a question can be appended to the user identifier. Thequestion itself can also be transmitted from the first device to thesecond device or merely displayed to the user of the second device by aprojector or monitor.

The system can further include the second device, which can include:second communication circuitry configured to communicate with the firstdevice by the short-range wireless protocol; and second controlcircuitry configured to: activate the second communication circuitry totransmit the scan signal to the first device, receive the useridentifier of the first communication circuitry of the first device viathe second communication circuitry and the short-range wireless protocolin response to the first device receiving the scan signal andtransmitting the user identifier to the second device, and store, inmemory circuitry of the second device, the user identifier in a log torecord a presence of the user of the first device within a range betweenthe first and second devices of the short-range wireless protocol.

When a response to a question is sought, both response and attendancetracking can be performed at the same time. Alternatively, if attendancetracking is not desired, then a log of the responses can merely bestored and displayed. Here, the discussed “attendance scan” can merelybe referred to as a “question scan” or an “inquiry scan” that hassubstantially the same technical functionality and characteristics.

The system may further include: a plurality of slave devices, each ofthe slave devices including the first communication circuitry and thefirst control circuitry of the first device, wherein the second deviceis a master device that executes an attendance or question (inquiry)scan that receives the user identifier of each of the slave devices inresponse to executing the scan, and the second device records, in thememory circuitry of the second device, a log to record the presence ofusers of the slave devices based on received user identifiers and a timeat which each of the received user identifiers is received and/or aresponse from the user that is appended to the user identifiers.

The second control circuitry of the second device may be furtherconfigured to: display, on a display of the second device, a graphicaluser interface for a user of the second device to log into the seconddevice to activate the scan and to access registration records thatinclude a list of expected users that are expected to be detected viathe scan, compare the received user identifiers with the list ofexpected users and responses, if expected, generate an attendance statusof the expected users, and record, in the memory of the second device,the attendance status of the expected users in the attendance log andresponses in a response log. The response log can be displayed asappropriate or desired.

The second control circuitry of the second device may be configured todisplay, on the display of the second device, a chart illustrating theattendance status of the expected users and/or a chart or responses anduser names. The second control circuitry may be configured to display,on the display of the second device, a graphical user interface for theuser of the second device to manually edit the corresponding logs.

The short-range wireless protocol may be a Bluetooth protocol. Nonetwork may be established between the first and second devices via theshort-range wireless protocol.

The second device may request the user identifier from the first deviceperiodically. The second device may request the user identifier from thefirst device based on a manual request by a user of the second device.

Each of the first and second control circuitry may be configured todownload and execute an application and authenticate usage of theapplication, such that each of the first and second control circuitry isnot authorized or able to communicate with each other via theshort-range communication protocol to perform an attendance scan processuntil authentication has been performed.

The device name for the first communication circuitry may be preset to adevice-specific identifier, and the first control circuitry may beconfigured to set the device name for the first communication circuitryby replacing the device-specific identifier with the user identifier andor the user identifier and an appended response. The user identifier maybe a student identification number, an email address, or anotherpre-registered or pre-authenticated ID unique to the user.

The second control circuitry may be configured to activate the secondcommunication circuitry to transmit the scan signal to the first deviceabout every 30 seconds.

The first control circuitry may be configured to set a status of idleand to set a status of available, such that the status of idle resultsin the first control circuitry not transmitting the user identifier tothe second device, and such that the status of available results in thefirst control circuitry transmitting the user identifier to the seconddevice.

The first and second devices can be smartphones or tablets.

The second control circuitry of the second device may be configured to:access a registration database of a course; download registrationrecords for the course from a remote server; display a list of studentsenrolled in the course; and display the list of students enrolled in thecourse together with an indication correlating the user identifierreceived from the first device with a student listed in the list ofstudents enrolled in the course.

The short-range wireless protocol may be a protocol that utilizescommunication circuitry based on: near-field communication (NFC), WiFi,infrared communications, ultrasonic signal generators, orradio-frequency identification (RFID) circuits.

Other exemplary implementations are discussed in more detail below.

In one aspect, the exemplary implementations utilize networking andprocessing capabilities of modern smartphones and provide software withan advanced GUI to make minimal yet useful interaction with the userwithout the need for an external dongle (e.g., a Bluetooth dongle or RFdongle for a separate communication device) or a laptop.

An exemplary implementation of this disclosure includes asmartphone-based attendance and response tracking system, wherein theobjective is to utilize communication modules that are embedded insidesmartphones carried by event attendees or students to autonomouslydetect and log their attendance records and responses without having toperform it manually. Although the exemplary implementations discussedherein are directed to a classroom environment, similar implementationscan be used in other environments to implement tracking or monitoring.

Attendance Tracking

A system can assist university professors in logging student attendancerecords by utilizing existing smartphones carried by the professor andhis students. In some exemplary aspects, a goal of this disclosure is tocreate an automated student attendance logging system using asmartphone's built-in Bluetooth technology, and to provide a novelsmartphone application. The advantages of such an exemplaryimplementation include saving attendance logging time and reducing thetechnology deployment cost by implementing the system on personalsmartphones.

Aspects of this disclosure present a novel method to utilize smartphonebuilt-in Bluetooth technology for automated attendance logging via afrequent scanning of Bluetooth device names, without the necessity ofpairing devices or networking them. The aspects of this disclosurediscussed herein support multiple platforms and are interoperable. Byadopting the teachings of this disclosure, an educator, for example, mayfocus on teaching without worrying about attendance logistics.

An exemplary system according to this disclosure also enables retrievingreal-time and accurate attendance logs and the ability to export them indifferent formats. The exemplary system also provides a seamlessinterface with minimal user interaction.

Application Design

To better describe exemplary implementations of an application design,consider a scenario where a professor enters a classroom of students(i.e., the classroom 100 illustrated in FIG. 1) and wishes to takeattendance records of the students. FIG. 2 illustrates an exemplary GUI200 that includes an exemplary application interface 202 (i.e., agraphical user interface, GUI) displayed on, e.g., a student'ssmartphone. Instead of manually calling the students' names or passingan attendance sheet throughout the classroom, the professor runs anapplication, logs in using, e.g., his University ID and Password, andrequests all students to do so as well as shown in FIG. 2.

In the GUI of FIG. 2, a student enters the student's name, a universityID, and a password to login. Icon 212 indicates wireless short rangeconnectivity with a master (host) device (e.g., the professor'ssmartphone). Window 208 includes a name of the student. Window 210 is aninterface to enter the student's ID. Window 204 shows a login status andis an interface to execute a login operation, discussed in more detailbelow. The student can enter a password in window 206. The professor canperform the same or similar operations using the professor's credentialsand a same or similar GUI as that illustrated in FIG. 2.

Course registration records may be downloaded in advance from a server(e.g., a University registrar server) and utilized by the application tomatch professors with students. The professor's smartphone will show amaster device GUI, where the professor can be provided with detailedinformation on the students' attendance logs. On the other hand, thestudents' smartphones can show a slave device GUI, where a simplefeedback is given to the student to acknowledge his attendance.

According to certain implementations, a professor connects to a serveras necessary and obtains a class list, which according to someimplementations can be periodically updated (e.g., at the beginning orprior to every class, every week, every month, or everyquarter/trimester/semester). It is not necessary for a professor tologin to a University system (i.e., a University or other remote server)to perform an attendance scan. While the professor and the students maylogin to their respective applications on their smartphones byauthenticating their IDs and their passwords with a remote server, suchan operation can optionally be only performed once, upon registering astudent's or a professor's smartphone and application with the remoteserver, thereby authorizing later usage of the smartphone and theapplication for later attendance scan procedures without requiringfurther authentication by the remote server.

That is, for example, the application may only require authentication bythe remote server upon initial login after the application is downloadedand installed. The application may further require authentication from,e.g., the professor when the professor's smartphone updates registrarinformation or from the professor or a student when either is using anew device or a new installation of the application. After suchauthentication(s), the application may merely require a simple,non-remote-authentication based login that can utilize the user'sUniversity ID and password, but performs authentication locally.Alternatively, the user can use a different or independent password toaccess and use the application after the initial login/authentication.Reference herein to “login” thus encompasses a local login, which doesnot include a remote-server authentication, and a remote login, whichincludes a remote-server authentication.

Upon login by entering a password, the master device (i.e., theprofessor's smartphone) identifies students registered in the classlist. The master device sends a request for verification to slavedevices of the students, and the slave devices provide a correspondingresponse. The master device then performs attendance logging.

FIG. 3 is an exemplary home GUI 300 for a master device (e.g., aprofessor's smartphone) according to some implementations. In FIG. 3,main menu interface buttons including Attendance button 304, Courses Logbutton 306, Settings button 308, and About button 310 may be selected bythe professor on the professor's smartphone. After selecting theAttendance button 304 from the main menu in FIG. 3, the professor'ssmartphone will perform the attendance logging autonomously, whichincludes continuous, semi-continuous, or one-time device discovery ofstudents' smartphones during, e.g., the class time period. This featureis explained in more detail below. Icon 302 can indicate short rangewireless connectivity between a slave device and a master device or canindicate other wireless connectivity to a network, such as a WiFinetwork.

The slave devices (i.e., the students' smartphones) can also display aGUI 300, consistent with that illustrated in FIG. 3 to obtain or displayspecific information corresponding to the Attendance button 304, CoursesLog button 306, Settings button 308, and About button 310. However, insome exemplary implementations, the access granted to the students islimited so as not to perform an attendance logging function or othersimilar functions reserved for the professor's smartphone.

FIG. 4 illustrates an exemplary attendance GUI 400 of a master device(e.g., a professor's smartphone). Student names can be displayed inregions 414, 418, and 422 of the GUI 400, and their corresponding IDscan be displayed in regions 416, 420, and 424 of the GUI 400. Thesenames and/or the IDs can be displayed by the professor's smartphone, andcorresponding records can be logged (i.e., recorded in a memory of thesmartphone and/or to a remote server if a network connection is present)autonomously once every predefined time period. The predefined timeperiod can be set to, e.g., 30 seconds, 1 minute, any time within 1-30minutes, or once every class/session period. The logging can also beperformed after a delay, in the middle, or towards the end of a set timeperiod, as opposed to at the beginning of a time period. For example,the autonomous logging can occur after a preset delay from the professorlogging into the master device. The preset delay can be set to, e.g., 30seconds, 1 minute, or any time within 1-30 minutes. Other predefinedtime periods and preset delays can be set without detracting from theteachings of this disclosure.

Alternatively or in combination with the above-discussed automatedaspects, the professor may initiate an attendance scan by activatingattendance button 408. For example, the attendance button 408 canprovide a manual activation of an attendance scan process, incombination with or alternative to an automated, preset, or scheduledattendance scan process. Further, alternatively or in combination withthe above-discussed automated aspects, the professor may initiaterecordation of an attendance log by activating the save log button 410.For example, the save log button 410 can provide a manual activation ofa log-recording process, in combination with or alternative to anautomated, preset, or scheduled log-recording process.

The professor may validate the records by counting the students manuallyin order to make sure that no one is missed or no one is detected fromthe corridor while not being in-class. This process is likely to consumeless time compared to an amount of time needed to call students' names,especially when there are many students present. Icon 402 indicatesshort range wireless connectivity between a slave device and a masterdevice (or another network connectivity), and window 406 includes anumber of devices present in the classroom. Icon 404 shows to theprofessor that the device is searching for other wireless devices, andcheckbox 426 allows a user (e.g., the professor) to enable or disable ascan (whether automated or manual).

As illustrated in the status portion of GUI 400, the master device cancalculate whether a student was late to a class based on a predefinedclass start time (e.g., a time that was accessed from the Universityregistrar server previously or in real-time) and display a resultingvalue as the student's status. In this example, the application causesthe master device to perform a time-based subtraction calculation toobtain the value of “Late 11 Min” illustrated in GUI 400.

Similarly, the application can cause the master device to calculate anamount of time the student has been out of the classroom (i.e., out ofrange or unable to detect). For example, the GUI 400 can display astudent has “stepped out” for “3 min” as illustrated in GUI 400. Thisamount of time may refer to an amount of time the student has “steppedout” in total for an entire class period, or merely to a singleoccurrence of the student “stepping out,” where the attendance log, asdiscussed in more detail below, can illustrate specific detailsconcerning the attendance history of students throughout the classperiod.

FIG. 5 is an example of a home GUI 500 including a home heading 502 on aslave device (e.g., a student's smartphone). Display area 504 can showto student 506 that the device of the student 506 is connected, wasrecently connected, or is connecting with a master device (e.g., thedevice of the professor) for the purpose of attendance scans. GUI 500includes a status 510 of the student and two options under caption 512.The two options are Available 514 and Idle 516.

In one example, “available” refers to the presence of a student in aclassroom, while “idle” refers to the absence of a student from theclassroom. For example, the student may manually select “idle” to informthe professor of a temporary absence from the classroom, where thestudent may leave his smartphone within the classroom (e.g., withincommunication range of the master device). Alternatively, if the studentselects “idle,” and then leaves the classroom with the student's device,then the master device can record the student's idle time from when thestudent leaves until when the student returns. On the other hand, if thestudent does not select “idle,” but nonetheless leaves the classroomwith the student's device, then the master device can record an “idle”state for the student for a time period where successive scans by themaster device did not detect the student's device. In exemplaryimplementations, the student 506 can check his status 510 to make surehe is logged in, as is the case in FIG. 5, and change his statusaccordingly via the options under caption 512. The “idle” state of aslave device can be implemented by, e.g., temporarily disabling theBluetooth device of the slave device or changing the Bluetooth name soas not to identify the student. In that case, activating the “available”state can change the Bluetooth name back to identify the student.

An exemplary system supports manual entry by, e.g., the professor viathe master device for various reasons. For example, if a student is notdetected due to signal failure or battery loss, then the master devicemay not record an accurate attendance log. Throughout the class session,the system will autonomously record the log, and after finishing theclass, the professor and students will have the ability to view logs andexport them in different formats. For example, a conventional chartingor graphing application can be utilized to display results within theapplication environment of the attendance tracking module. Furthermore,the professor may manually edit attendance logs at any time while datais being logged/recorded or afterwards to account for any connectivityor technical issues (e.g., when a slave device or the master devicemalfunctions or loses battery power).

Attendance Scanning

Aspects of this disclosure can utilize built-in inquiry procedures ofthe Bluetooth protocol to discover nearby devices, and a built-inlogical link establishment procedure to retrieve a so-called “BluetoothDevice Name.” Similar procedures can be implemented when non-Bluetoothtechnologies are utilized in other implementations. Each Bluetoothdevice is addressable by a globally unique 48 bit Bluetooth DeviceAddress that is assigned at the time of manufacture. In addition, eachdevice carries a “Bluetooth Device Name” assigned by the user andretrievable by other Bluetooth devices without prior authentication.Other implementations of this disclosure can utilize similar proceduresfor other short-range technologies.

Bluetooth device names allow users to easily identify devices. Forexample, an exemplary process sets the Bluetooth device name to be theUniversity ID such that, e.g., a professor who is trying to takeattendance records with his smartphone is presented with a list ofUniversity IDs in range rather than a list of Bluetooth DeviceAddresses. By “in range” it is understood that devices can communicatewith each other via Bluetooth (i.e., the devices are close enoughwithout obstacles or other interference to transmit and receive signalsfrom each other). If different short range communication technologiesare used, then the range may vary.

Upon login, a device causes a Bluetooth device (i.e., Bluetooth orshort-range wireless circuitry) in the device to become discoverablesuch that the Bluetooth device will appear when performing devicescanning, and will assign the University ID number as the Bluetoothdevice name. That is, the device name, which may be a generic name or anetwork address, is replaced with a user-based unique ID, such as aUniversity ID, email, name, or other identifier. As used herein, such an“identifier” is merely referred to as a user identifier (user ID). Toretrieve the name of a remote Bluetooth device or students' smartphones,the requesting host or the professor's smartphone uses knowledge of theremote device's Bluetooth Device Address and the establishment of alogical link with it.

FIG. 6 is an example Bluetooth-based attendance scanning system 600. InFIG. 6, a Bluetooth-enabled smartphone master device 602 transmits anattendance scan signal 604 throughout, e.g., a classroom, which isreceived by a plurality of Bluetooth-enabled smartphones slave devices606, 608, 610, 612 respectively belonging to a plurality of students.The master device 602 discovers slave devices 606-612 using theattendance scan signal 604. Each of the slave devices 606-612 (i.e., thediscovered devices 616) sends a discovered device signal 618 to themaster device 602.

FIG. 7 illustrates an example attendance scan operation 700 between amaster Bluetooth smartphone device (e.g., a primary device) 702 a slaveBluetooth smartphone device 704 (e.g., a secondary device). The mastersmartphone 702 sends a Bluetooth inquiry request signal 706 to the slavesmartphone device 704 of the student. The slave Bluetooth smartphone 704sends back an inquiry response and Bluetooth address signal 708 to themaster device 702.

The master device 702 sends a page request 710 to the slave device 704,and the slave device 704 sends page response signal 714 to the masterdevice 702. A Bluetooth logical link 716 is established between themaster smartphone 702 and the slave smartphone 704, and a Bluetooth name718 is sent from the slave device 704 to the master device 702. Aresponse to, e.g., a question may be appended to the Bluetooth name.This particular implementation is discussed in more detail below.Otherwise, the process illustrated in FIG. 7 can be accomplished withoutperforming pairing or establishing a communication channel between thedevices.

It is not necessary in exemplary implementations to establish acommunication link between the devices, as aspects of this disclosurecan obtain and record attendance information through scanning of devicenames using a short-range wireless technology (e.g., scanning ofBluetooth names) without requiring a network to be established betweendevices using the short-range wireless technology.

The address of the remote device may be acquired through a deviceinquiry. A Bluetooth device that tries to find other nearby devices isknown as an inquiring device and actively sends inquiry requests.Bluetooth devices that are available to be found are known asdiscoverable devices and listen for these inquiry requests and sendresponses. The inquiry response packet contains a Bluetooth DeviceAddress of a responding device.

The procedure for logical link establishment is very similar to theprocedure for device inquiry. A host wishing to establish a logical linkwith a remote device sends page requests. Each Bluetooth device isconfigured to periodically scan and respond to any incoming requests.Depending on the configuration, devices may either listen continuously,at least once every 1.28 seconds, or at least once every 2.56 seconds.After that the logical link will be established and can be used toretrieve the remote device's Bluetooth Device Name.

As discussed above, aspects of this disclosure do not require pairingand networking between devices. Pairing is a process used to securelyestablish a network connection between devices, and generally requiresuser interaction to complete. Pairing generally allows for a limitednumber of slave devices to join a network created by a master device.

In view of exemplary implementations of this disclosure, a systemfrequently re-scans for Bluetooth devices instead of establishing anetwork with/between them, without needing to know a number of devicesjoining the network and without requiring an authentication process forconnection. Aspects of this disclosure can thus benefit from the merediscovery of nearby devices, representing available students, and notfurther requiring pairing or networking. However, such pairing ornetworking could still nonetheless be provided to introduce furtherfunctionality or additional features, without detracting from the scopeof this disclosure. Such networking could also be provided by adifferent wireless connection other than the short-range wirelessconnection used for attendance scanning and the different connectionscan be simultaneously or synchronously.

Exemplary aspects of this disclosure can benefit from a frequent scanfor students' devices so that no one is excluded from attendance and toprovide accurate real-time logs of students' availability or beingpresent in class. On the other hand, continuously scanning can depleteparticipants' smartphone's batteries quickly. Thus, a careful selectionof scanning frequency is considered.

Estimating an expected time to complete inquiry and logical linkestablishment procedures is rather difficult in Bluetooth since itdepends on a number of devices present. Nevertheless, some previousworks claim connection times of about 2 seconds between devicespreviously unknown to each other, while others claim 4-12 seconds, 5.76seconds, and worst case times of 23 seconds. To address timing concerns,aspects of this disclosure are directed to performing attendancescanning about every 30 seconds through the re-initiation of the inquiryand logical link establishment procedures. However, other times can bepredefined or established while in use by a user.

FIG. 8 is an example of a real-time attendance scan session, and anexemplary display of data recorded by a master device. According to FIG.8, an attendance scan is performed periodically about every 30 secondsby the professor's smartphone to scan the presence of three examplestudents, Hassan, Rayyan, and Anas.

In the example of FIG. 8, student Hassan is present throughout thesession. Student Rayyan steps out for 5 minutes, and student Anasarrives 11 minutes late to the session. The data illustrated in FIG. 8can be stored in the master device's memory as a table or other data,and is accessible as history or a record. The data can also betransmitted to a remote server, or student-specific information can beemailed or otherwise transmitted to the student for studentconfirmation/review.

FIG. 9 is a flowchart of an algorithm 900 that includes algorithmicsteps 902-908. In step 902, a device name (i.e., the name of a slavedevice upon login) is changed to a university ID or other user ID. Instep 904, a Bluetooth device of the slave device is made discoverable.In step 906, a master device performs an attendance scan, and in step908, the master device discovers a student's device name via acorresponding response from the slave device that includes the devicename (i.e., the university ID). In one implementation, the university IDmay be a specific, unique number or alphanumeric string assigned tostudents by a University, and may include or be an email address, phonenumber, or other user ID. On the other hand, if no such authority ispresent in another implementation, the device name can utilize anotherrecognizable name or email address to allow the master device and/or theprofessor to associate the device name with a particular student orparticipant.

Platform Test

While one design implementation of the teachings of this disclosuresupports a Bluetooth-based smartphone platform, and supportsinteroperability between platforms, the exemplary implementationdiscussed herein is on an Android 4.0 platform. This is merelyexemplary, and other platforms can be utilized, such as iOS, by APPLE.Android is an open source mobile operating system developed by GoogleInc. of Mountain View, Calif., which utilizes a Software Development Kit(SDK) based on Java Framework, and also has a SQLite database managementsystem. Herein, the methods and classes used to implement an exemplaryattendance scan process are described via an exemplary Androidimplementation.

FIG. 10 is a flowchart 1000 showing the steps of an exemplary Androidimplementation. In step 1002, a user logs into the application using theuser's University ID or another user ID. In step 1004, the Bluetoothdevice is renamed using the University ID of the user by running asetName( ) procedure. In step 1006, the Bluetooth device is made visibleto a master device using a method startActivityForResult(intent, int)with ACTION_REQUEST_DISCOVERABLE action intent. In step 1008, to alwaysmake the Bluetooth device discoverable, the value ofEXTRA_DISCOVERABLE_DURATION intent is set equal to 0. These steps1002-1008 may be performed on other Bluetooth devices by other users andmay be repeated. Also, the login step 1002 may be initiated by a uservia a touchscreen interface of a mobile device, where the followingsteps are performed without further user input or without requiringfurther user input.

In step 1010, a condition of whether all devices are initialized ischecked. Specifically, the professor may ask his students to verify theyhave logged into their respective applications. If the devices areotherwise networked together via WiFi or another network, the masterdevice can be provided with corresponding data from the slave devices asto whether the slave devices have been initialized. Otherwise, when nonetwork connection is established, the professor may simply ask thestudents to verify they have logged into their respective applications,thereby also prompting the professor in be informed of any connectivityor technical issues that may require the examiner to manually adjust theattendance log to accurately reflect attendance. In some cases, whereasthe steps 1002-1008 and 1012-1016 are device-algorithm steps, the step1010 may be performed as a non-algorithmic step (i.e., it is performedby a user).

If the condition is met or if the professor does not verify the presentstudents have logged in, then in step 1012 the master device scansattendance by calling startDiscovery( ). This step 1012 and thefollowing steps may be performed during, before, and/or after the steps1002-1008 and/or 1010 by the master device. That is, the master devicemay begin scanning when (in response to) the professor logs into themaster device, whereas the slave devices perform their respective stepswhen (in response to) the students log into their respective slavedevices. The step 1012 and the following steps may also be delayed by apreset time with respect to the professor logging in so as to allow theprofessor to initialize his login process prior to an actual start ofclass time, where the attendance scan can be performed at the actualstart of class time, or to allow the attendance scan to occur during aninitial, middle, or later portion of the class time while the professoris teaching. In step 1014, ACTION_FOUND intent is broadcast from themaster device, and in step 1016 the name of the Bluetooth device isobtained by calling getName( ) procedure.

Once the user logs into the application using his University ID, theapplication will rename the Bluetooth device with the University IDusing the method: setName (String name) which sets the Bluetooth devicename of the local Bluetooth adapter. Since the valid Bluetooth names area maximum of 248 bytes using UTF-8 encoding, using the University ID maybe preferable than using the student name. However, as discussed above,other names or IDs can be utilized instead of a pre-registered orassigned University ID in other implementations.

Once the Bluetooth device name is set, the application will enable theBluetooth device to be visible (discoverable) to the master device usinga method startActivityForResult(Intent, int) with theACTION_REQUEST_DISCOVERABLE action Intent. This will issue a request toenable discoverable mode through the system settings (without stoppingthe application). An embodiment of the present disclosure sets thedevice to become always discoverable by adding theEXTRA_DISCOVERABLE_DURATION Intent extra with value equal to 0. Uponlogoff, the Bluetooth device's discoverability may be reverted to off,depending on the user's preferred settings. Additionally, the Bluetoothdevice's discoverability may be turned off by selecting an “idle”option, consistent with GUI 500 of FIG. 5.

In one implementation, once all slave devices have been initialized(i.e., once the professor verifies the students are logged in), themaster device performs the attendance scanning process by calling themethod startDiscovery( ). However, this can be performed before, during,or after initialization of the slave devices. The discovery processusually involves an inquiry scan of about 12 seconds, followed by a pagescan of each found device to retrieve its Bluetooth device name. Animplementation registers a BroadcastReceiver for the ACTION_FOUND Intentin order to receive information about each device discovered. For eachdevice, the system will broadcast the ACTION_FOUND Intent. This Intentcarries the extra fields EXTRA_(—) DEVICE and EXTRA_CLASS, containing aBluetoothDevice and a BluetoothClass, respectively. Finally the name ofthe Bluetooth device can be obtained using the method getName( ).

Attendance logging has been a distracting and time consuming processfacing educators throughout modern education institutions. Oneimplementation of this disclosure provides an autonomous real-timeattendance logging system using off the shelf smartphones. Awell-designed user interface (UI) is also provided for limiting userinteraction, as is a novel frequent scanning scheme utilizing Bluetoothtechnology for autonomous attendance recording. Certain implementationsmay be implemented on an Android platform.

Various implementations of this disclosure make it possible to automatean attendance recording process through the use of wide spread andproliferated technology, i.e., a smartphone. Utilizing Bluetoothtechnology or another short-range wireless communication technology,which comes built-in to smartphones, interoperable and support formultiple platforms can be provided. Implementations other than thosespecifically discussed herein can be implemented on iOS, Windows Phone,and BlackBerry smartphones. Also, exemplary implementations can providethe possibility of adapting the master device transmission power tocontrol the coverage of the signal, and to avoid incorrectly loggingclass-registered students who are intentionally or unintentionallyphysically outside the class premises. While this problem is currentlyaddressed by a manual head count, the present disclosure increases thedegree of automating attendance tracking providing a seamless attendanceprocedure to a classroom.

Response Tracking

As in the above-discussed implementations, exemplary implementations ofresponse tracking are discussed herein with respect to Bluetooth.However, other short-range communication technologies can be utilized.

The master device can include a presentation software module, such asMicrosoft PowerPoint, and can connect to another device, such as alaptop including Microsoft PowerPoint. The software module is used todisplay a plurality of answers of the students to a quiz question. Thequiz question is sent by the master device to the slave devices of thestudents. The master device may connect to a server to download quizquestions, but the slave devices of the students are not required toconnect to a server or an infrastructure network.

That is, in exemplary implementations, a question is displayed tostudents/participants via a monitor or projector. The question is notnecessarily retrieved from a server or another network—the professor maysimply type the question on a display. The question may also betransmitted to other devices through a network connection, if available.

Answers (i.e., responses) to the question can be sent to the masterdevice in a manner similar to the descriptions provided above anddiscussed in more detail below via short range wireless communicationsignals, such as Bluetooth signals. The master device, upon receipt ofthe signals, can display the results on the master device or a connecteddevice as illustrated in FIG. 1. The professor may establish a timewindow for students to submit answers.

The short range wireless communication transmissions discussed hereinmay include Bluetooth protocol layers including LMP, L2CAP, and SDP. LMPor the Link Management Protocol may be used for set-up and control ofradio links between the master and the slave devices. L2CAP or theLogical Link Control and Adaptation Protocol may be used to multiplexmultiple logical connections between the master and the slave devicesusing different higher level protocols or may also provide segmentationand reassembly of on-air packets.

L2CAP may also provide packets with a payload configurable up to 64 kB,with 672 bytes as the default and 48 bytes as the minimum mandatorysupported MTU. The Service Discovery Protocol or SDP allows a device todiscover services offered by other devices, and their associatedparameters.

The devices of, e.g., FIG. 1 can share a clock and master/slave rolescan be switched and shared, by agreement of users or otherwise, to allowa master to become a slave and vice versa. This can also be the caseduring the course of attendance tracking, where multiple slave devicesin an audience can be turned into remote master devices that allow for amore distributed response-retrieval system for tracking attendance orresponses. This can make the system more efficient by establishingnetwork connectivity only between the distributed master devices,whereas network connectivity is not necessary for other slave devices.Communication between various devices can also be limited to theBluetooth communication protocols where pairing is not performed.

An example clock interval/pulse in Bluetooth can be about 312.5microsecond intervals. A time slot may be defined as two clock pulses or625 microseconds. Two slots take 1250 μs. According to exemplaryimplementations, in the single-slot case, packets from the master devicecan transmit in even slots and receive in odd slots. The slave devicescan receive Bluetooth messages in the even slots and transmit in the oddslots, by taking turns. For example, according to certain examples,Bluetooth packets may be 1, 3, or 5 slots long.

The master device may use a broadcast mode of the Bluetooth protocol todisseminate a quiz question to Bluetooth receivers of the slave devices.A corresponding broadcast message may include indicators to identifyspecific ones of the slave device to be addressed. In this case, theother slave devices can be configured (e.g., programmed) to ignore themessage.

FIG. 11 is a flowchart of an algorithm for receiving responses to aquestion. In step 1102, a teacher (i.e., with a master device) initiatesa poll with 4 answers displayed on a screen (A, B, C, or D). In step1104, students launch their applications on their slave devices andlogin using their University ID and Password or other credentialsconsistent with the previously discussed implementations.

In step 1106, students answer a poll by selecting a choice among A, B,C, and D. In step 1108, Bluetooth device names of the slave devices arereplaced with corresponding University IDs and a response (i.e., ananswer letter). In step 1110, the teacher's device performs scanning ofsignals. In step 1112, the teacher's device parses logged device namesto extract the answer and the student's ID from each signal detected. Instep 1114, the answer is logged in the teacher's device to be integratedand visualized by Microsoft PowerPoint or other presentation software.

In some implementations, the functionality provided via FIG. 11 isprovided in an application (i.e., a software application executed by acircuitry) in a smartphone. This functionality is provided together withor separate from the functionality discussed above regarding attendancetracking.

FIG. 12 is a block diagram that illustrates the communication shows howthe method of the present disclosure sends and receives quiz questionsto and from smartphones, using Bluetooth signals. Regardless of forminga Bluetooth network connection or performing pairing, a master device1202 transmits a quiz question to a slave device 1204 via a Bluetoothsignal 1206. This transmission can make use of transmitting data via thedevice name of address fields of the Bluetooth protocol to avoidBluetooth pairing. A response to the question is sent from the slavedevice to the master device via a Bluetooth signal 1208 in a similarmanner. The response can then be displayed as discussed above.

Further, the “quiz question” output from the master device can merely bea trigger for causing the slave devices to output a response. That is,with reference to FIG. 6, a question scan (similar to the attendancescan) can be output from the master device, where the question itself isnot sent to the slave devices, but is rather merely displayed visuallyto the students.

In FIG. 13, a master device 1302 is connected to another device 1320,e.g., a laptop computer. The master device 1302 transmits a questionscan signal 1304, which may or may not include the question, throughout,e.g., a classroom, which is received by a plurality of Bluetooth-enabledsmartphones slave devices 1306, 1308, 1310, 1312 respectively belongingto a plurality of students. The master device 1302 discovers slavedevices 1306-1312 using the question scan signal 1304. Each of the slavedevices 1306-1312 (i.e., the discovered devices that are responding tothe question 1316) sends a discovered device signal 1318 to the masterdevice 1302 that includes an answer. These answers can be displayed viathe another device 1320 for classroom purposes.

FIG. 14 illustrates exemplary graphic user interfaces. A master device1402 includes a question window 1406 and an answer window 1410. A slavedevice 1404 includes a question window 1408 showing the same question ason the question window 1406. The slave device 1404 further includes ananswer window 1412 in which the student enters the answer to thequestion in question window 1408.

FIG. 15 illustrates a master device 1502 transmitting an inquiry signal1506 to a slave device 1504. The slave device 1504 then answers backwith a response 1508. The master device 1502 receives the response 1508and link establishment 1510 is performed by the master and slave devicesto establish a Bluetooth link. In accordance with the above discussionsregarding FIGS. 7, 9, and 10, the response may include a user ID and aresponse to a question that is appended to the user ID.

Hardware and Software Implementations

The various steps discussed above in and illustrated in the figures canbe performed in different orders and the various loops can be performedsimultaneously based on processing capabilities of an implementation.Accordingly, various implementations are possible in light of theteachings of this disclosure.

Blocks or circuits of computer architecture (i.e., circuitry) shown ordescribed herein can be implemented in a single processing system, ordistributed across a plurality of processing systems, which may bereferred to as separate processors or circuits. For instance, each ofthe blocks of architecture can be a discrete processor, system, or logiccomponent. Further, exemplary functions or features can be performed bycommon circuitry or by a general purpose processor executing specificinstructions. For example, as discussed above, the functionality of themaster device can be distributed across a plurality of differentdevices, including use of the functionality of a slave device as amaster device in some circumstances.

Reference has been made herein to an “application,” which refers to asoftware program that may transform an otherwise conventional device,such as a smartphone, into a special-purpose computing device to performthe advantageous features described herein. The application may bedownloaded in advance from a server and installed on the variousdevices. Alternatively, the application may be provided by a masterdevice to slave devices over a short-range communication.

The application of the present disclosure can be implemented in Java.Exemplary implementations can use the 802.15.1 Bluetooth corespecification with a maximum bandwidth of 1 Mbit/sec. However, otherprotocols can be utilized without departing from the teachings of thisdisclosure. In one example, Bluetooth Low Energy (Bluetooth LE;Bluetooth Smart; Bluetooth 4.0) can be utilized.

FIG. 16 illustrates an exemplary processing system (i.e., an exemplaryprocessor, circuitry, or mobile/personal/master/slave device). One ormore of such processing systems can be utilized in or to execute one ormore algorithms, or portions thereof, or one or more architectureblocks, or portions thereof, in accordance with the descriptionsprovided herein.

The exemplary processing system can be implemented using one or moremicroprocessors or the equivalent, such as a central processing unit(CPU) and/or at least one application specific processor ASP (notshown). The microprocessor is circuitry that utilizes a computerreadable storage medium, such as a memory circuit (e.g., ROM, EPROM,EEPROM, flash memory, static memory, DRAM, SDRAM, and theirequivalents), configured to control the microprocessor to perform and/orcontrol the processes and systems of this disclosure. Other storagemediums can be controlled via a controller, such as a disk controller,which can controls a hard disk drive or optical disk drive.

The microprocessor or aspects thereof, in alternate implementations, caninclude or exclusively include a logic device for augmenting or fullyimplementing this disclosure. Such a logic device includes, but is notlimited to, an application-specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA), a generic-array of logic (GAL), andtheir equivalents. The microprocessor can be a separate device or asingle processing mechanism. Further, this disclosure can benefit fromparallel processing capabilities of a multi-cored CPU. Control circuitryprovided by one or more processors in a multi-processing arrangement mayalso be employed to execute sequences of instructions contained inmemory. Alternatively, hard-wired circuitry may be used in place of orin combination with software instructions. Thus, the exemplaryimplementations discussed herein are not limited to any specificcombination of hardware circuitry and software.

In another aspect, results of processing in accordance with thisdisclosure can be displayed via a display controller to a display (e.g.,an LCD or an OLED monitor). The display controller preferably includesat least one graphic processing unit, which can be provided by aplurality of graphics processing cores, for improved computationalefficiency. The display controller or portions thereof can also beincorporated into the CPU.

Additionally, an I/O (input/output) interface is provided for inputtingsignals and/or data from a microphone, speakers, cameras, a mouse, akeyboard, a touch-based display or pad interface, etc., which can beconnected to the I/O interface as a peripheral. For example, a keyboardor a pointing device for controlling parameters of the various processesor algorithms of this disclosure can be connected to the I/O interfaceto provide additional functionality and configuration options, orcontrol display characteristics. Moreover, the monitor can be providedwith a touch-sensitive or gesture-detecting interface for providing acommand/instruction interface.

The I/O interface can also be connected to a mobile device, such as asmartphone, a portable storage device, and/or a global position system(GPS) device or another positioning device. The I/O interface caninclude a Universal Serial Bus (USB) hub, Bluetooth circuitry, NearField Communication (NFC) circuitry, or other wired or wirelesscommunication circuits. The I/O interface can also be connected to oneor more networking devices. For example, Bluetooth circuitry or othershort-range wireless communication circuitry can be coupled to the I/Ointerface as a removable device through, e.g., a USB port.

The above-noted components can be coupled to a network, such as theInternet or a local intranet, via a network interface for thetransmission or reception of data, including controllable parameters.The network interface can include one or more IEEE 802 compliantcircuits. A central BUS is provided to connect the above hardwarecomponents/circuits together and provides at least one path for digitalcommunication there between.

A radio can be included, either as a separate component or part of thenetwork interface. The radio can incorporate various wirelesscommunication technologies as separate circuits or shared circuitry, andthe technologies can incorporate LTE, GSM, CDMA, WiFi, Bluetooth, NFC,infrared, FM radio, AM radio, ultrasonic, and/or RFID circuitry. Theradio may function as a network controller for communication with thenetwork, and the network can take various forms.

The processing system may be a networked desktop computer, terminal, orpersonal device, such as a tablet computer or a mobile phone. Thenetwork can include various wired and wireless communication channels.The databases or storage components discussed herein can be a hardwarecomponent of a remote server, and the server can include componentssimilar to or the same as the processing system. These devices cancommunicate via the network. The server can provide instructions or datato the processing system via the network.

Suitable software, such as an operating system or an application, can betangibly stored on a computer readable medium of a processing system ina non-transitory manner, including in the memory and storage devices.Other examples of computer readable media are compact discs, hard disks,floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, flashEPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact discs(e.g., CD-ROM), or any other medium from which a computer can read. Thesoftware may include, but is not limited to, device drivers, operatingsystems, development tools, applications software, and/or a graphicaluser interface.

Computer code elements on the above-noted medium may be anyinterpretable or executable code mechanism, including but not limited toscripts, interpretable programs, dynamic link libraries (DLLs), Javaclasses, and complete executable programs. Moreover, parts of theprocessing of aspects of this disclosure may be distributed for betterperformance, reliability and/or cost.

The procedures and routines described herein can be embodied as at leastone or more of a device, system, method, or computer program product,and can be executed via one or more dedicated circuits or programmedprocessors. Accordingly, the descriptions provided herein may take theform of exclusively hardware, exclusively software executed on hardware(including firmware, resident software, micro-code, etc.), or through acombination of dedicated hardware components and general processors thatare configured by specific algorithms and process codes. Hardwarecomponents are referred to as a “circuit,” “module,” “unit,” “device,”or “system.” Executable code that is executed by hardware is embodied ona tangible memory device in a non-transitory manner, such as a computerprogram product. Examples include CDs, DVDs, flash drives, hard diskunits, ROMs, RAMs, and other memory devices.

Reference has been made to flowchart illustrations and block diagrams ofmethods, systems and computer program products according toimplementations of this disclosure. Aspects thereof are implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in anon-transitory manner in a computer-readable medium that can direct acomputer or other programmable data processing apparatus to function ina particular manner, such that the instructions stored in thecomputer-readable medium produce an article of manufacture includinginstruction means which implement the function/act specified in theflowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of this disclosure. For example, preferableresults may be achieved if the steps of the disclosed techniques wereperformed in a different sequence, if components in the disclosedsystems were combined in a different manner, or if the components werereplaced or supplemented by other components. The functions, processesand algorithms described herein may be performed in hardware or softwareexecuted by hardware, including computer processors and/or programmablecircuits configured to execute program code and/or computer instructionsto execute the functions, processes and algorithms described herein.Additionally, some implementations may be performed on modules orhardware not identical to those described. Accordingly, otherimplementations are within the scope that may be claimed.

EXEMPLARY IMPLEMENTATIONS

Attendance Tracking

A. A system comprising:

a first device including:

-   -   first communication circuitry configured to communicate with a        second device by a short-range wireless protocol; and    -   first control circuitry configured to:        -   activate the first communication circuitry so that the first            communication circuitry is detectable by the second device            via the short-range wireless protocol,        -   set a device name for the first communication circuitry to a            user identifier that is specific to a user of the first            device,        -   receive a scan signal from the second device via the first            communication circuitry and the short-range wireless            protocol, and        -   transmit the user identifier to the second device via the            first communication circuitry and the short-range wireless            protocol in response to receiving the scan signal,

the second device including:

-   -   second communication circuitry configured to communicate with        the first device by the short-range wireless protocol; and    -   second control circuitry configured to:        -   activate the second communication circuitry to transmit the            scan signal to the first device,        -   receive the user identifier of the first communication            circuitry of the first device via the second communication            circuitry and the short-range wireless protocol in response            to the first device receiving the scan signal and            transmitting the user identifier to the second device, and        -   store, in memory circuitry of the second device, the user            identifier in a log to record a presence of the user of the            first device within a range between the first and second            devices of the short-range wireless protocol.

B. The system according to A, further comprising:

a plurality of slave devices, each of the slave devices including thefirst communication circuitry and the first control circuitry of thefirst device, wherein

the second device is a master device that executes an attendance scanthat receives the user identifier of each of the slave devices inresponse to executing the attendance scan, and the second devicerecords, in the memory circuitry of the second device, an attendance logto record the presence of users of the slave devices based on receiveduser identifiers and a time at which each of the received useridentifiers is received.

C. The system according to B, wherein the second control circuitry ofthe second device is configured to:

display, on a display of the second device, a graphical user interfacefor a user of the second device to log into the second device toactivate the attendance scan and to access registration records thatinclude a list of expected users that are expected to be detected viathe attendance scan,

compare the received user identifiers with the list of expected users,

generate an attendance status of the expected users, and

record, in the memory of the second device, the attendance status of theexpected users in the attendance log.

D. The system according to C, wherein the second control circuitry ofthe second device is configured to display, on the display of the seconddevice, a chart illustrating the attendance status of the expectedusers.

E. The system according to C, wherein the second control circuitry ofthe second device is configured to display, on the display of the seconddevice, a graphical user interface for the user of the second device tomanually edit the attendance log.

F. The system according to A, wherein the short-range wireless protocolis a Bluetooth protocol.

G. The system according to A, wherein no network is established betweenthe first and second devices via the short-range wireless protocol.

H. The system according to A, wherein the second device requests theuser identifier from the first device periodically.

I. The system according to A, wherein the second device requests theuser identifier from the first device based on a manual request by auser of the second device.

J. The system according to A, wherein each of the first and secondcontrol circuitry is configured to download and execute an applicationand authenticate usage of the application, such that each of the firstand second control circuitry is not authorized or able to communicatewith each other via the short-range communication protocol to perform anattendance scan process until authentication has been performed.

K. The system according to A, wherein:

the device name for the first communication circuitry is preset to adevice-specific identifier; and

the first control circuitry is configured to set the device name for thefirst communication circuitry by replacing the device-specificidentifier with the user identifier.

L. The system according to K, wherein the user identifier is a studentidentification number or an email address.

M. The system according to A, wherein the second control circuitry isconfigured to activate the second communication circuitry to transmitthe scan signal to the first device every 30 seconds.

N. The system according to A, wherein the first control circuitry isconfigured to set a status of idle and to set a status of available,such that the status of idle results in the first control circuitry nottransmitting the user identifier to the second device, and such that thestatus of available results in the first control circuitry transmittingthe user identifier to the second device.

O. The system according to A, wherein the first and second devices aresmartphones or tablets.

P. The system according to A, wherein the second control circuitry ofthe second device is configured to:

access a registration database of a course;

download registration records for the course from a remote server;

display a list of students enrolled in the course; and

display the list of students enrolled in the course together with anindication correlating the user identifier received form the firstdevice with a student listed in the list of students enrolled in thecourse.

Q. The system according to Claim A, wherein the short-range wirelessprotocol is a protocol that utilizes communication circuitry based on:near-field communication (NFC), WiFi, infrared communications,ultrasonic signal generators, or radio-frequency identification (RFID)circuits.

R. A slave device comprising:

communication circuitry configured to communicate with a master deviceby a short-range wireless protocol; and

control circuitry configured to:

activate the communication circuitry so that the communication circuitryis detectable by the master device via the short-range wirelessprotocol,

set a device name for the communication circuitry to a user identifierthat is specific to a user of the slave device,

receive a scan signal from the master device via the communicationcircuitry and the short-range wireless protocol, and

transmit the user identifier to the second device via the communicationcircuitry and the short-range wireless protocol in response to receivingthe scan signal.

S. A method, comprising:

activating first communication circuitry of a first device so that thefirst communication circuitry is detectable by a second device via ashort-range wireless protocol;

setting a device name for the first communication circuitry to a useridentifier that is specific to a user of the first device;

activating second communication circuitry of the second device andtransmitting a scan signal from the second communication circuitry tothe first device via the short-range wireless protocol;

receiving the scan signal from the second device at the firstcommunication circuitry via the short-range wireless protocol;

transmitting the user identifier from the first communication circuitryto the second device via the short-range wireless protocol in responseto the receiving the scan signal;

receiving the user identifier of the first communication circuitry ofthe first device at the second communication circuitry via theshort-range wireless protocol in response to the first device receivingthe scan signal and transmitting the user identifier to the seconddevice; and

storing, in memory circuitry of the second device, the user identifierin a log to record a presence of the user of the first device within arange between the first and second devices of the short-range wirelessprotocol.

T. A non-transitory computer-readable medium including executableinstructions, which when executed by circuitry, causes the circuitry toexecute the method according to S.

Response Tracking

A. A system comprising:

a first device including:

-   -   first communication circuitry configured to communicate with a        second device by a short-range wireless protocol; and    -   first control circuitry configured to:        -   activate the first communication circuitry so that the first            communication circuitry is detectable by the second device            via the short-range wireless protocol,        -   set a device name for the first communication circuitry to a            string that includes a user identifier that is specific to a            user of the first device and a response to an inquiry,        -   receive a scan signal from the second device via the first            communication circuitry and the short-range wireless            protocol, and        -   transmit the device name, which includes the user identifier            and the response, to the second device via the first            communication circuitry and the short-range wireless            protocol in response to receiving the scan signal,

the second device including:

-   -   second communication circuitry configured to communicate with        the first device by the short-range wireless protocol; and    -   second control circuitry configured to:        -   activate the second communication circuitry to transmit the            scan signal to the first device,        -   receive the device name, which includes the user identifier            and the response, of the first communication circuitry of            the first device via the second communication circuitry and            the short-range wireless protocol in response to the first            device receiving the scan signal and transmitting the device            name to the second device, and        -   store, in memory circuitry of the second device, the user            identifier and the response in a log to record the response            of the user.

B. The system according to A, further comprising:

a plurality of slave devices, each of the slave devices including thefirst communication circuitry and the first control circuitry of thefirst device, wherein

the second device is a master device that executes an inquiry scan thatreceives the user identifier and the response of each of the slavedevices in response to executing the inquiry scan, and

the second device records, in the memory circuitry of the second device,a response log to record the responses and user identifiers of users ofthe slave devices based on received user identifiers, responses, and atime at which each of the device names is received.

C. The system according to B, wherein the second control circuitry ofthe second device is configured to:

display, on a display of the second device, a graphical user interfacefor a user of the second device to log into the second device toactivate the inquiry scan and to access registration records thatinclude a list of expected users that are expected to be detected viathe inquiry scan,

compare the received user identifiers with the list of expected users,

generate a status of the expected users in responding to the inquiry,and

record, in the memory of the second device, the status of the expectedusers in the log.

D. The system according to C, wherein the second control circuitry ofthe second device is configured to display, on the display of the seconddevice, a chart illustrating the status of the expected users.

E. The system according to C, wherein the second control circuitry ofthe second device is configured to display, on the display of the seconddevice, a graphical user interface for the user of the second device tomanually edit the log.

F. The system according to A, wherein the short-range wireless protocolis a Bluetooth protocol.

G. The system according to A, wherein no network is established betweenthe first and second devices via the short-range wireless protocol.

H. The system according to A, wherein the second device transmits theinquiry to the first device via the short-range wireless protocol sothat the inquiry is displayed to a user of the first device.

I. The system according to A, wherein the second device requests thedevice name from the first device based on a manual request by a user ofthe second device.

J. The system according to A, wherein each of the first and secondcontrol circuitry is configured to download and execute an applicationand authenticate usage of the application, such that each of the firstand second control circuitry is not authorized or able to communicatewith each other via the short-range communication protocol to perform ascan process until authentication has been performed.

K. The system according to A, wherein:

the device name for the first communication circuitry is preset to adevice-specific identifier; and

the first control circuitry is configured to set the device name for thefirst communication circuitry by replacing the device-specificidentifier with the user identifier and the response.

L. The system according to K, wherein the user identifier is a studentidentification number or an email address.

M. The system according to A, wherein the second control circuitry isconfigured to activate the second communication circuitry to transmitthe scan signal to the first device every 30 seconds.

N. The system according to A, wherein the first control circuitry isconfigured to set a status of idle and to set a status of available,such that the status of idle results in the first control circuitry nottransmitting the user identifier and the response to the second device,and such that the status of available results in the first controlcircuitry transmitting the user identifier and the response to thesecond device as the device name.

O. The system according to A, wherein the first and second devices aresmartphones or tablets.

P. The system according to A, wherein the second control circuitry ofthe second device is configured to:

access a registration database of a course;

download registration records for the course from a remote server;

display a list of students enrolled in the course; and

display the list of students enrolled in the course together with anindication correlating the user identifier received form the firstdevice with a student listed in the list of students enrolled in thecourse together with the response from the respective user.

Q. The system according to Claim A, wherein the short-range wirelessprotocol is a protocol that utilizes communication circuitry based on:near-field communication (NFC),

WiFi, infrared communications, ultrasonic signal generators, orradio-frequency identification (RFID) circuits.

R. A slave device comprising:

communication circuitry configured to communicate with a master deviceby a short-range wireless protocol; and

control circuitry configured to:

activate the communication circuitry so that the communication circuitryis detectable by the master device via the short-range wirelessprotocol,

set a device name for the communication circuitry to a user identifierthat is specific to a user of the slave device and a response to aninquiry,

receive a scan signal from the master device via the communicationcircuitry and the short-range wireless protocol, and

transmit the device name, which includes the user identifier and theresponse, to the second device via the communication circuitry and theshort-range wireless protocol in response to receiving the scan signal.

S. A method, comprising:

activating first communication circuitry of a first device so that thefirst communication circuitry is detectable by a second device via ashort-range wireless protocol;

setting a device name for the first communication circuitry to a useridentifier that is specific to a user of the first device and a responseto an inquiry;

activating second communication circuitry of the second device andtransmitting a scan signal from the second communication circuitry tothe first device via the short-range wireless protocol;

receiving the scan signal from the second device at the firstcommunication circuitry via the short-range wireless protocol;

transmitting the device name, which includes the user identifier and theresponse, from the first communication circuitry to the second devicevia the short-range wireless protocol in response to the receiving thescan signal;

receiving the user identifier of the first communication circuitry ofthe first device and the response at the second communication circuitryvia the short-range wireless protocol in response to the first devicereceiving the scan signal and transmitting the user identifier and theresponse to the second device; and

storing, in memory circuitry of the second device, the user identifierand the response in a log to record a presence of the user of the firstdevice within a range between the first and second devices of theshort-range wireless protocol.

T. A non-transitory computer-readable medium including executableinstructions, which when executed by circuitry, causes the circuitry toexecute the method according to S.

1. A system comprising: a first device including: first communicationcircuitry configured to communicate with a second device by ashort-range wireless protocol; and first control circuitry configuredto: activate the first communication circuitry so that the firstcommunication circuitry is detectable by the second device via theshort-range wireless protocol, set a device name for the firstcommunication circuitry to a string that includes a user identifier thatis specific to a user of the first device and a response to an inquiry,receive a scan signal from the second device via the first communicationcircuitry and the short-range wireless protocol, and transmit the devicename, which includes the user identifier and the response, to the seconddevice via the first communication circuitry and the short-rangewireless protocol in response to receiving the scan signal, the seconddevice including: second communication circuitry configured tocommunicate with the first device by the short-range wireless protocol;and second control circuitry configured to: activate the secondcommunication circuitry to transmit the scan signal to the first device,receive the device name, which includes the user identifier and theresponse, of the first communication circuitry of the first device viathe second communication circuitry and the short-range wireless protocolin response to the first device receiving the scan signal andtransmitting the device name to the second device, and store, in memorycircuitry of the second device, the user identifier and the response ina log to record the response of the user.
 2. The system according to 1,further comprising: a plurality of slave devices, each of the slavedevices including the first communication circuitry and the firstcontrol circuitry of the first device, wherein the second device is amaster device that executes an inquiry scan that receives the useridentifier and the response of each of the slave devices in response toexecuting the inquiry scan, and the second device records, in the memorycircuitry of the second device, a response log to record the responsesand user identifiers of users of the slave devices based on receiveduser identifiers, responses, and a time at which each of the devicenames is received.
 3. The system according to 2, wherein the secondcontrol circuitry of the second device is configured to: display, on adisplay of the second device, a graphical user interface for a user ofthe second device to log into the second device to activate the inquiryscan and to access registration records that include a list of expectedusers that are expected to be detected via the inquiry scan, compare thereceived user identifiers with the list of expected users, generate astatus of the expected users in responding to the inquiry, and record,in the memory of the second device, the status of the expected users inthe log.
 4. The system according to 3, wherein the second controlcircuitry of the second device is configured to display, on the displayof the second device, a chart illustrating the status of the expectedusers.
 5. The system according to 3, wherein the second controlcircuitry of the second device is configured to display, on the displayof the second device, a graphical user interface for the user of thesecond device to manually edit the log.
 6. The system according to 1,wherein the short-range wireless protocol is a Bluetooth protocol. 7.The system according to 1, wherein no network is established between thefirst and second devices via the short-range wireless protocol.
 8. Thesystem according to 1, wherein the second device transmits the inquiryto the first device via the short-range wireless protocol so that theinquiry is displayed to a user of the first device.
 9. The systemaccording to 1, wherein the second device requests the device name fromthe first device based on a manual request by a user of the seconddevice.
 10. The system according to 1, wherein each of the first andsecond control circuitry is configured to download and execute anapplication and authenticate usage of the application, such that each ofthe first and second control circuitry is not authorized or able tocommunicate with each other via the short-range communication protocolto perform a scan process until authentication has been performed. 11.The system according to 1, wherein: the device name for the firstcommunication circuitry is preset to a device-specific identifier; andthe first control circuitry is configured to set the device name for thefirst communication circuitry by replacing the device-specificidentifier with the user identifier and the response.
 12. The systemaccording to 11, wherein the user identifier is a student identificationnumber or an email address.
 13. The system according to 1, wherein thesecond control circuitry is configured to activate the secondcommunication circuitry to transmit the scan signal to the first deviceevery 30 seconds.
 14. The system according to 1, wherein the firstcontrol circuitry is configured to set a status of idle and to set astatus of available, such that the status of idle results in the firstcontrol circuitry not transmitting the user identifier and the responseto the second device, and such that the status of available results inthe first control circuitry transmitting the user identifier and theresponse to the second device as the device name.
 15. The systemaccording to 1, wherein the first and second devices are smartphones ortablets.
 16. The system according to 1, wherein the second controlcircuitry of the second device is configured to: access a registrationdatabase of a course; download registration records for the course froma remote server; display a list of students enrolled in the course; anddisplay the list of students enrolled in the course together with anindication correlating the user identifier received form the firstdevice with a student listed in the list of students enrolled in thecourse together with the response from the respective user.
 17. Thesystem according to claim 1, wherein the short-range wireless protocolis a protocol that utilizes communication circuitry based on: near-fieldcommunication (NFC), WiFi, infrared communications, ultrasonic signalgenerators, or radio-frequency identification (RFID) circuits.
 18. Aslave device comprising: communication circuitry configured tocommunicate with a master device by a short-range wireless protocol; andcontrol circuitry configured to: activate the communication circuitry sothat the communication circuitry is detectable by the master device viathe short-range wireless protocol, set a device name for thecommunication circuitry to a user identifier that is specific to a userof the slave device and a response to an inquiry, receive a scan signalfrom the master device via the communication circuitry and theshort-range wireless protocol, and transmit the device name, whichincludes the user identifier and the response, to the second device viathe communication circuitry and the short-range wireless protocol inresponse to receiving the scan signal.
 19. A method, comprising:activating first communication circuitry of a first device so that thefirst communication circuitry is detectable by a second device via ashort-range wireless protocol; setting a device name for the firstcommunication circuitry to a user identifier that is specific to a userof the first device and a response to an inquiry; activating secondcommunication circuitry of the second device and transmitting a scansignal from the second communication circuitry to the first device viathe short-range wireless protocol; receiving the scan signal from thesecond device at the first communication circuitry via the short-rangewireless protocol; transmitting the device name, which includes the useridentifier and the response, from the first communication circuitry tothe second device via the short-range wireless protocol in response tothe receiving the scan signal; receiving the user identifier of thefirst communication circuitry of the first device and the response atthe second communication circuitry via the short-range wireless protocolin response to the first device receiving the scan signal andtransmitting the user identifier and the response to the second device;and storing, in memory circuitry of the second device, the useridentifier and the response in a log to record a presence of the user ofthe first device within a range between the first and second devices ofthe short-range wireless protocol.
 20. A non-transitorycomputer-readable medium including executable instructions, which whenexecuted by circuitry, causes the circuitry to execute the methodaccording to claim 19.